コンビニ V6Fax & PickingList System
Flow
Topic |
内容 |
File |
PRG |
memo |
コピー | FDに該当データをコピー | NCCTRO.DAT | DOS | 7専用機 |
起動 | NewDspAに移動 | 発注フォルダ | Seven11.EXE | NewDspA |
抽出 | 必要項目に整頓 | Neri.TXT,P2.DAT | BAT(DOSprompt) | C->EXE |
DB化 | フィールドのADD&Query | Seven11.MDB | Seven11.EXE | DAO,Query |
印刷 | 印刷可能なシート作成 | JUODX*.XLS,PL7X99*.XLS | EXCEL:VBA | BackUpあり |
MEMO
1.コピー
発注、配送もメニューからコピーできる。
コピーされるファイルは、発注・配送,共にNCCTRO.DATという名前。
2.システム起動
Seven11.EXE:VBで作成。
抽出バッチを呼び出し、その後、引き続き最後までの処理をする。
---- 処理機能の概略
-----
発注
1)Seven11.mdbと連携してV6FaxSysに繋げる。(このケースでは明細を先に自動印刷するのが特別処理)
2)商品名、単価の取得のため、AS400からマスタをRDOでSeven11.mdbに落とす。(随時)
3)伝票作成用に、AS400へのクロスシステム利用可能なSDTCR.TXTをFDに書き戻す。(従来と同様)
Picking
1)Picking用の商品名略称マスタをメンテする。出力順位も指定可。
(SejName(SejNameQ)をDBGRIDで呼び出すだけ)
2)印刷用Excelを呼び、VBAマクロをキックして一括印刷。
3)印刷ミスや用紙紛失に備え、直前に印刷したExcelファイルを単純に呼び出し可。
3.抽出
コマンドラインのDOSレベルでコンパイルされた、簡易なCのEXE。
前のバージョンに少し手を加えたのみ。(サンプル)
(何故か、PC98のDOSのMSCでコンパイルした方が良いみたい? 個々のソースはバッチのページからLINK可)
標準入出力を用いているのみなので、実行時にはパイプラインで割り込みを掛ける。(バッチで処理)
基本的には
不良文字を取り除き、改行位置を揃え、
単純なDBのレコードのフォーマットになるよう、HeadderとBodyを合体する。
必要に応じて、不要フィールドを除く。
連続実行の為、バッチを利用する。
BAT(Cプログラム名はBATの内容から参照)
発注 ------------ NERI\NERI.BAT
PickingList ------- PC.BAT
配送データにはマスタも含まれているので、本数が多い。
作成されるデータ名はバッチから分かるように
発注 ---- NERI\NERI.TXT
配送 ---- P2.DAT
商品 ---- SMST.DAT
店 ------ MS.DAT
DOS窓も奇異にならない様に大きさを調整した。
4.DB化
いつも通り、予め用意したMDBに対して、VBでデータの更新を行う。
発注もピッキングもこのパターンでは、テキストデータをOPENして、指定バイトをTABLEのフィールドとして落とす.。
発注時に新規商品或いは商品名変更を確認するためSejNameを商品コードでRead、
必要に応じてメッセージ、新規ならAdd、変更ならRewriteする。
またAS400からのマスタと比較して単価チェックをしている。
他には特別なことは無い。
配送リストに関わるテーブルとクエリ
PLOUTDEL | PLOUTを追加する前に削除 | 削除Query |
PLTTLDEL | PLTTLOUTを追加する前に削除 | 削除Query |
PLIN | 予めクリアしてある。 | 受け入れテーブル |
SejName | 商品名略称・順位マスタ | Read & Rewrite or Add(配送時はJOINのみ) |
MSMST | 店マスタ |
Clear & Write |
PLSUM1 | PLIN集計、数量単位処理 | Sum Query |
PLSUM2 | PLSUM1JOIN 店マスタ、商品マスタ | Join Query |
PLSUM3 | PLOUT 作成 | ADD Query |
PLTTL1 | PLSUM1から分岐、商品別GP別リスト | Join Query |
PLTTL2 | PLTTLをPLTTLOUTにADD | ADD Query |
PLOUT | ピッキング用OUTデータEXCELで利用 | ピッキング明細用GP・コース・ルート・商品別テーブル |
PLTTLOUT | ピッキング確認用商品別GP | 総合計用商品別GP別テーブル |
PLINDEL | PLINを最後にクリア:MDBサイズ縮小 | 削除Query |
5.印刷
発注は通常のパターンと大差ない。
ピッキングリスト印刷は、
総合計を最初の頁に(1頁にまとめる)。
グループで改頁(DBに落とす時からINT(コース/2)+1でGP作成)。
店休みの可能性を示唆。
合計を各頁の頭に。
1頁に収まらない時の処理。
店コード、店名の表示。
店の数量計。
最終行に店名が来ない。
……などを工夫した。
以上 1999/02/09 by Masanori Hosoda